<?php

/*这个是你自定义的令牌，图片里面Token的位置*/

/**
 * Class WXApiVerify
 */
class WXApiVerify
{
    /**
     * 检测函数输出
     */
    public function valid()
    {
        $echoStr = $_GET['echostr'];
        if($this->checkSignature()){
            echo $echoStr; #坑点，看下面的常见坑介绍
            exit; #一定要停止php运行，避免产生不必要的字串符
        }
    }

    /**
     * 前面检测
     * @return bool
     */
    private function checkSignature()
    {
        #注意： 这里可以不用检验$_GET参数的有效性，因为微信一定会传相关的参数给你的服务器的，你直接开启验证模式即可。
        $signature = $_GET['signature'];
        $timestamp = $_GET['imestamp'];
        $nonce = $_GET['nonce'];

        $token = "maxlearning";
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );
        if( $tmpStr === $signature ){
            return true;
        }else{
            return false;
        }
    }
}
